@scream
2年前 提问
1个回答

软件模糊测试法有哪些特点

X0_0X
2年前

软件模糊测试法有以下特点:

  • 模糊测试的测试目标是二进制可执行代码,比基于源代码的白盒测试适用范围更广。

  • 模糊测试是动态实际执行的,不存在静态分析技术中存在的大量误报问题。

  • 模糊测试的原理简单,没有大量的理论推导和公式计算,不存在符号执行技术中的路径状态爆炸问题。

  • 模糊测试自动化程度高,不需要逆向工程中大量的人工参与。

  • 访问控制漏洞的发现能力有限。通过模糊测试技术挖掘出的漏洞大多是传统的溢出类漏洞,由于该技术的逻辑感知能力有限,对于违反权限控制的安全漏洞,如后门、绕过认证等漏洞的发现能力有限。

  • 设计逻辑缺陷的发现能力有限。糟糕的逻辑往往并不会导致程序崩溃,而模糊测试发现漏洞的一个最重要依据就是监测目标程序的崩溃,因此,模糊测试对这种类型的漏洞也无能为力。

  • 多阶段安全漏洞的发现能力有限。模糊测试对识别单独的漏洞很有用,但对那些小的漏洞序列构成的高危漏洞的发现能力有限。

  • 多点触发漏洞的发现能力有限。识别模糊测试技术不能准确地发现多条件触发的漏洞。而且通常只能判断出待测试软件中存在何种漏洞,并不能准确地定位到程序源代码中漏洞的位置。

  • 模糊测试技术不能保证畸形输入数据能够覆盖到所有的分支代码,这就使得即使通过模糊测试检验的软件仍可能存在未被发现的漏洞。